Новости → Способ перехода с Passenger на Unicorn.
Долгое время наши специалисты изучали пути повышения производительности Rails-проектов и в результате мы решили изменить способ запуска Rails на наших серверах. Начиная с 11 ноября 2010 года абсолютно все новые проекты Rails создаются и запускаются при помощи сервера Rack/Rails приложений Unicorn.
Уже созданные проекты, тем не менее, продолжают работать под управлением Phusion Passenger, и, если вас не устраивает производительность, то из этой статьи вы узнаете, как правильно и с минимальными усилиями изменить способ запуска вашего проекта.
Если ваш проект использует базу данных, ее нужно отвязать, чтобы не потерять данные. Для этого в панели управления откройте свойства нужного вам проекта.

В окне свойств перейдите к базе данных вашего проекта.

В свойствах базы данных нажмите кнопку «Отвязать» напротив названия проекта.

Аналогичным образом отвяжите от проекта все домены, кроме технических.
Используя логин и пароль в разделе «FTP и SSH», подключитесь к серверу, зайдите в каталог projects и переименуйте директорю с вашим проектом.

Удалите проект через панель управления хостингом.

После того, как проект исчезнет из списка (на это может уйти некоторое время), создайте новый Rails-проект с точно таким же именем. При этом базу данных создавать не нужно.

Дождитесь, пока проект перейдет в состояние «Готово», после чего вернитесь к менеджеру файлов по FTP.
В каталоге projects вы увидете две директории: архивная с вашим проектом и новая с именем вашего проекта, которая была создана только что. Удалите только что созданную директорию, после чего переименуйте архивный каталог обратно.

В панели управления в свойствах проекта нажмите кнопку «Перезагрузить сервер», после чего ваш проект начнет работу с Unicorn.
Привяжите к проекту все нужные вам домены.
Несколько важных моментов
Перезагрузку кода приложения можно осуществить не только из панели управления, но и из консоли. Для этого нужно выполнить команду
kill -USR2 `cat /var/run/unicorn/project.hosting_user.pid`
В случае удаления проекта без привязанной базы данных, база данных не будет удалена вместе с проектом и при необходимости это нужно сделать вручную.
Если вы используете Capistrano для автоматизации развертывания проекта, то вы можете посмотреть пример файла конфигурации для работы с Unicorn на наших серверах.

